

package com.loong.loong.hik.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.OrderBy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 人脸管理
 *
 * @author jinyiang
 * @date 2023-03-28 17:17:48
 */
@Data
@TableName("hik_face")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "人脸管理")
public class Face extends Model<Face> {

    private static final long serialVersionUID = 1L;

    /**
     * 人脸id
     */
	@ExcelIgnore
	@TableId(value="id",type = IdType.ASSIGN_ID)
    @ApiModelProperty(value="人脸id")
    private Integer id;
	/**
	 * 所属组别
	 */
	@ExcelProperty(" 所属组别")
	@ApiModelProperty(value=" 所属组别")
	private Integer groupDataList;
    /**
     * 编号
     */
	@ExcelProperty("编号")
	@ApiModelProperty(value="编号")
    private String indexCode;

    /**
     * 人脸库唯一标识符
     */
	@ExcelIgnore
	@ApiModelProperty(value="人脸库唯一标识符")
    private String faceGroupIndexCode;

	@ExcelIgnore
	@ApiModelProperty(value="图片二进制")
	@TableField(exist = false )
	private String faceBinaryData;
    /**
     * 姓名
     */
	@ExcelProperty("姓名")
	@ApiModelProperty(value="姓名")
    private String name;

    /**
     * 性别，1-男性，2-女性，UNKNOWN-未知
     */
	@ExcelProperty("性别")
	@ApiModelProperty(value="性别，1-男性，2-女性，UNKNOWN-未知")
    private String sex;

    /**
     * 证件类型，111-身份证，OTHER-其它证件
     */
	@ExcelProperty("证件类型")
	@ApiModelProperty(value="证件类型，111-身份证，OTHER-其它证件")
    private String certificateType;
    /**
     * 证件号码
     */
	@ExcelProperty("证件号码")
	@ApiModelProperty(value="证件号码")
    private String certificateNum;
    /**
     * 人脸照片信息
     */
	@ExcelProperty("人脸照片URL")
	@ApiModelProperty(value="人脸照片URL")
    private String faceUrl;
    /**
     * 删除标记,1:已删除,0:正常
     */
    @ApiModelProperty(value="删除标记,1:已删除,0:正常")
	@ExcelIgnore
	@TableLogic
	@TableField(fill = FieldFill.INSERT)
    private String delFlag;

    /**
     * 创建时间
     */
	@ExcelProperty("创建时间")

	@ApiModelProperty(value="创建时间")
	@TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
	@ExcelProperty("更新时间")
	@OrderBy
	@ApiModelProperty(value="更新时间")
	@TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;


    /**
     * 录入设备号
     */
	@ExcelProperty("录入设备号")

	@ApiModelProperty(value="录入设备号")
    private String deviceNumber;

    /**
     * 传输协议
     */
	@ExcelProperty("传输协议")

	@ApiModelProperty(value="传输协议")
    private String protocol;

    /**
     * 设备位置
     */
	@ExcelProperty("设备位置")

	@ApiModelProperty(value="设备位置")
    private String location;

	/**
	 * 操作人
	 */
	@ExcelProperty("操作人")

	@ApiModelProperty(value="操作人")
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private String updateBy;

	@TableField(exist =  false)
	@ExcelIgnore
	private String groupName;

	@TableField(exist = false )

	@ExcelIgnore
	private String likeName;

	@TableField(exist = false )
	@ExcelIgnore
	private String startTime;

	@TableField(exist = false )
	@ExcelIgnore
	private String endTime;

}
